from passlib.context import CryptContext

pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")


def verify_password(plain_password: str, hashed_password: str) -> bool:
    """
    验证明文密码与哈希密码是否匹配

    :param plain_password: 明文密码
    :param hashed_password: 哈希密码
    :return: 匹配返回 True，否则返回 False
    """
    return pwd_context.verify(plain_password, hashed_password)


def get_password_hash(password: str) -> str:
    """
    对密码进行哈希处理

    :param password: 明文密码
    :return: 哈希后的密码
    """
    return pwd_context.hash(password)


__all__ = [
    "verify_password",
    "get_password_hash",
]
